home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / utility / srdisk13.zip / SRDISK.DOC < prev    next >
Text File  |  1992-01-18  |  10KB  |  280 lines

  1.  
  2.                     ReSizeable RAMDisk version 1.30
  3.                           for XMS memory only
  4.  
  5.                     Copyright (c) 1992 Marko Kohtala
  6.  
  7.                                 Freeware
  8.  
  9.  
  10. SRDISK is offered to you "AS IS" without any warranty. I do not require
  11. any money for you using it, so I can not pay you any if you loose some
  12. for using it. It is impossible for me to say this program will work on
  13. every computer and DOS version you try to run in on - so don't rely on
  14. it.
  15.  
  16. Previous versions of this software were in public domain. You may use
  17. them freely for what ever purpose you want.
  18.  
  19. This version is NOT public domain. It's freeware; I grant you right to
  20. run, copy and distribute this software as long as it is unmodified,
  21. includes all the original files and you do not take any kind of payment
  22. for distributing it.
  23.  
  24. If you want to use my code in your programs or modify it, contact me,
  25. you'll have a change to get my permission, and make it legal.
  26.  
  27.  
  28.  
  29. CONTENTS
  30.  
  31.   1. Publishing purpose, features included and recognised missing
  32.   2. Files in this release
  33.   3. Usage
  34.   3.1. Basic installation
  35.   3.2. Driver
  36.   3.3. SRDISK program
  37.   4. Technical data for further development
  38.   5. Troubleshooting
  39.   6. Last words
  40.  
  41.  
  42.  
  43.     1. PUBLISHING PURPOSE, FEATURES INCLUDED AND RECOGNISED MISSING
  44.  
  45. This RAM disk driver is published in the hope we will get a really good
  46. RAM disk that is free. I do not intend to make it all out myself but
  47. rather hope there is out there someone who is willing to participate in
  48. my work.
  49.  
  50. This RAM disk currently supports the following features:
  51.  
  52.   * XMS (Extended memory on 286 and up with HIMEM or other XMS driver)
  53.     support - no other memory drivers - yet
  54. NEW Device drivers may be chained to form larger disks using many
  55.     different kind memories.
  56.   * Resizeable/removable - destructive
  57. NEW Supports 32-bit sector addressing introduced in DOS 4. Thus over 32M
  58.     RAM disks are possible. (Up to 63M disks tested.)
  59.   * Configurable
  60.       - sector size
  61.       - cluster size
  62.       - root directory entry count
  63.       - number of FATs
  64.   * Predefined DOS disk like formats
  65.   * Write protection
  66.   * Compatible with DOS versions from 2.00 to 5.x
  67.     (tested only with DOS 5.0 and 3.30)
  68.   * Stores last format time in volume label
  69. NEW Can optionally set environment variables SRDISKn (n=1,2,...) to
  70.     the installed SRDISK drive letters.
  71.  
  72. What I would like to see added:
  73.  
  74.   * Resizing of the disk without loosing disk contents
  75.   * EMS support
  76.   * UMB support
  77.   * Bank-Switch memory support ("The Last Byte" by Key Software)
  78.   * Low memory support
  79.  
  80.  
  81.  
  82.                         2. FILES IN THIS RELEASE
  83.  
  84. The following material is distributed in this release:
  85.  
  86.         SRDISK.DOC      this document
  87.         SRDISK.C        disk formatter source code for Turbo C++ 1.0
  88.         SRDISK.ASM      device driver source code for XMS
  89.         SRDISK.SYS      compiled device driver
  90.         SRDISK.EXE      compiled formatter program for the RAM disk
  91.         FILE_ID.DIZ     short description of packet for BBS operators
  92.  
  93.  
  94.  
  95.                                 3. USAGE
  96.  
  97. The SRDISK is basicly split in to two parts:
  98.  
  99.         1) a device driver to add the virtual drive into DOS and
  100.         2) a program to control the device driver
  101.  
  102. The following explains the installation and how to use both of these
  103. parts.
  104.  
  105.  
  106.                         3.1. BASIC INSTALLATION
  107.  
  108. The basic installation can be done following the below steps:
  109.  
  110. 1. Copy SRDISK.SYS into you root directory.
  111. 2. Copy SRDISK.EXE into some directory in your PATH
  112. 3. Add into your CONFIG.SYS line
  113.  
  114.         DEVICE=SRDISK.SYS
  115.  
  116. 4. Add into your AUTOEXEC.BAT after the PATH command line
  117.  
  118.         SRDISK <size>
  119.  
  120. The <size> defines the disk size in Kbytes.
  121.  
  122.  
  123.                               3.2. DRIVER
  124.  
  125. The driver can accept two parameters:
  126.  
  127.         DEVICE=SRDISK.SYS [d:] [/A]
  128.  
  129. The [] around the parameter mean it is optional; you must not type the
  130. brackets.
  131.  
  132. Both of the options are usually useless. They are ment for chaining
  133. drivers to same virtual disk. Some use for them may be found, if drivers
  134. for other memories are made. The RDISK.SYS in this release does not
  135. support the chaining - it may be recompiled to support it though by
  136. modifying equate CAPABLE in SRDISK.ASM.
  137.  
  138. The 'd:' is meant to force the RDISK.SYS into the specified drive. If
  139. the specified drive is driven by another SRDISK device, this driver will
  140. be appended into the other SRDISK device. If it is not driven by another
  141. SRDISK device, the SRDISK will try to force DOS to give it the drive
  142. letter. Though my DOS manual states this should be possible, I was not
  143. able to make it work (with DOS 5.0), so the driver will later think it
  144. is a different drive than DOS thinks it is.
  145.  
  146. /A switch is another, more preferable way to append the driver into a
  147. previously installed driver. With it you need not worry about the drive
  148. letter DOS has given to the previous driver. The appending means that
  149. the devices will be chained into the same drive; different parts of the
  150. virtual disk can then use different drivers and different kinds of
  151. memory. All drivers may not allow other drivers to be appended to them.
  152.  
  153.  
  154. If you see error messages, you may have forgotten to install the XMS
  155. driver (eg. HIMEM.SYS) prior to the RDISK.SYS, or you have improper DOS
  156. version or something. Try to fix the problem. If you fail... sorry.
  157.  
  158. Merely installing the driver gives you no RAM disk. It is as though you
  159. had installed a floppy driver without putting a disk in the drive. For
  160. that you need the SRDISK.EXE program.
  161.  
  162.  
  163.                           3.3. SRDISK PROGRAM
  164.  
  165. The disk can be enabled by, for example, using command "SRDISK 1024"
  166. which will make first SRDISK a 1024K disk. It can be disabled by making
  167. it of size 0: "SRDISK 0".
  168.  
  169. You should include the command to enable the RAM disk into your
  170. AUTOEXEC.BAT file.
  171.  
  172. The SRDISK is self documented. You'll get the documentation by typing at
  173. the DOS prompt "SRDISK /?" and hitting enter.
  174.  
  175.  
  176.  
  177.                 4. TECHNICAL DATA FOR FURTHER DEVELOPMENT
  178.  
  179. The job is split between the device driver and the SRDISK program this
  180. way:
  181.  
  182. Device driver does:
  183.  
  184.   * What ever a RAM disk driver is expected by the DOS to do.
  185.  
  186.   * Support multiplex interrupt server at AH=72h. Any program may
  187.     receive this way a pointer into a data structure that contains the
  188.     following data:
  189.       - BIOS parameter block for the drive.
  190.       - Disk size in K-bytes.
  191.       - Read/write access flags (read flag is actually enabled flag).
  192.       - Media byte.
  193.       - Flag to tell if the media has changed (set by SRDISK).
  194.       - Number of open files on drive.
  195.       - Pointer to the sector read/write function in the driver.
  196.       - Pointer to the memory allocation routine in the driver.
  197.       - Some information about what kind of memory can be used for the
  198.         disk.
  199.       - Pointers into next driver in the driver chain and into next
  200.         virtual SRDISK drive.
  201.  
  202. SRDISK.EXE does:
  203.  
  204.   * Modify the drivers internal structures and call it's memory
  205.     allocation routine to change the size of allocated memory.
  206.  
  207.   * Format the new disk i.e. write the boot sector, FAT(s) and root
  208.     directory according to the format sent to driver.
  209.  
  210.   * Carries the responsibitity that the drivers structures and the disk
  211.     is OK.
  212.  
  213. I've done it this way because I did not want to bother myself adding the
  214. SRDISK.EXE functions to the driver too. Some program was anyway needed
  215. to control the driver.
  216.  
  217. The sources are somewhat documented. Also the used structures can be
  218. found there - naturally.
  219.  
  220. Keep in mind, if you take advantage of this code, that the structures
  221. are likely to change. Version 1.30 has still beta version of the
  222. internal structures.
  223.  
  224. Also remember that there is a copyright on code. You'll though have good
  225. chanse of getting license to develop a new driver using the SRDISK.ASM
  226. as a base for your driver. Just contact me and tell me about it.
  227.  
  228.  
  229.  
  230.                            5. TROUBLESHOOTING
  231.  
  232. Causes of grief
  233.  
  234. 1. RAM disks loose their contents when power is turned off! Do not store
  235. anything valuable there.
  236.  
  237. 2. There is no XMS memory without a proper device driver. HIMEM.SYS or
  238. QEMM will do.
  239.  
  240. 3. Not all HIMEM.SYS support memory above 16M limit. HIMEM.SYS that came
  241. with MS-Windows 3.0 is reported be ok.
  242.  
  243.  
  244.  
  245.                              6. LAST WORDS
  246.  
  247. I HOPE you will send any modified versions, new drivers, better
  248. documentation, bug reports, suggestions and your love (preferably
  249. female) to me. If I can, I'll then add them to the next release of
  250. SRDISK.
  251.  
  252. I'd like the modifications to sources as patches to some version the
  253. number of which you should tell.
  254.  
  255. I'll make a list of every people contributing material to this product
  256. and ship it with further releases. If modesty is one of your virtues, I
  257. can leave you out of the list.
  258.  
  259. If you do not contribute anything into this driver and I get the drive
  260. to not loose it's contents when size is changed, I'll probably change
  261. into shareware. If I spend my time making this thing, I'll need the
  262. money (as a student, I need it anyway :) ). I do not mind getting money
  263. already at the below address; ALL support is appreciated.
  264.  
  265. You can contact me by sending E-mail from
  266.  
  267.         Internet, Bitnet etc. to 'Marko.Kohtala@hut.fi'
  268.         CompuServe to '>INTERNET:Marko.Kohtala@hut.fi'
  269.  
  270. or by traditional mail to
  271.  
  272.         Marko Kohtala
  273.         PL 115
  274.         SF-01451 Vantaa
  275.         FINLAND
  276.  
  277. or by calling Airline QBBS, 24H, HST, V.32, V.42, MNP, +358-0-8725380
  278. and leaving mail to me, Marko Kohtala.
  279.  
  280.